#ifndef _SOLUTION_H
#define _SOLUTION_H

#include "GlobalDefines.h"
#include "Geometry.h"
#include "Excitation.h"
class Solution
{
public:
	Solution(TriangleMesh* obj, Excitation* ex):Object(obj),Ex(ex){};
	virtual ~Solution(){};
	bool Analysis();
private:
	bool Initial();
	emx::real_data Singular(int patchIdx);
	emx::real_data I_Integral(int edgeIdx, emx::real_data t);
private:
	TriangleMesh* Object;
	Excitation* Ex;
	emx::real_data Delta;
	blitz::Array<emx::zMatrix, 1> Z;
	blitz::Array<emx::zVector, 1> I, V;
};

#endif
